package com.easyapi.common.param.api;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

/**
 * @author: javadadi
 * @Time: 15:33
 * @ClassName: ConfigSqlApiParam
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ConfigSqlApiParam implements Serializable {
    private static final long serialVersionUID = 9061864544788147620L;
    /**
     * 项目id
     */
    private Long projectId;

    /**
     * api中文名称
     */
    private String apiNameCn;
    /**
     * api英文名称
     */
    private String apiName;
    /**
     * api描述
     */
    private String apiDesc;
    /**
     * 请求方式 0Get,1POST
     */
    private Integer reqType;

    /**
     * api查询超时时间
     */
    private Integer queryTimeOut;

    /**
     * 单用户每秒调用次数上限
     */
    private Integer reqLimit;

    /**
     * 是否缓存
     */
    private Integer isCache;

    /**
     * 缓存失效周期
     */
    private Integer cacheExpiryPeriod;

    /**
     * 缓存corn表达式
     */
    private String  cacheExpiryDateCron;

    /**
     * 数据源
     */
    private Long datasourceId;

    /**
     * 数据库
     */
    private String databaseName;

    /**
     * 数据表
     */
    private String tableName;
    /**
     * 自定义sql
     */
    private String configSql;

    /**
     * 输入参数
     */
    private List<ConfigInputParam> configInputParams;
    /**
     * 输出参数
     */
    private List<OutputParam> outputParams;

    /**
     * 是否分页
     */
    private Integer allowPaging;

    /**
     * 每页的数据量
     */
    private Integer respPageSize;
}
